﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            //已知数组如下：

int[] array = { 1, 5, 9, 3, 7, 2, 8, 6, 4 };



            //(2).遍历拷贝

int[] copy = new int[array.Length];

            for (int i = 0; i < array.Length; i++)
            {
                copy[i] = array[i];
            }

//(3).使用CopyTo方法

int[] copy1 = new int[array.Length];

            array.CopyTo(copy1, 0);

            //CopyTo方法用作将源数组全部拷贝到目标数组中，可以指定目标数组的起始索引，但需确保目标数组能容纳下源数组，CopyTo可用来合并多个数组

            //(4).使用Array.Copy方法

int[] copy2 = new int[array.Length];

            Array.Copy(array, copy2, array.Length);

            //Array.Copy方法可以将源数组的部分元素拷贝到目标数组中，三个参数时，可以指定源数组复制的元素数目(从第一个元素开始)；五个参数时，不仅可以指定源数组复制的元素数目及起始索引，也能指定目标数组的起始索引。

//(5).使用Clone方法

int[] copy3 = (int[])array.Clone();

            //由于Clone的返回值类型是object，所以要强制转换为int[]
        }
    }
}
